Skip to content

feat: add plugin commands#110

Open
MarioCadenas wants to merge 7 commits intomainfrom
cli-plugin-commands
Open

feat: add plugin commands#110
MarioCadenas wants to merge 7 commits intomainfrom
cli-plugin-commands

Conversation

@MarioCadenas
Copy link
Collaborator

@MarioCadenas MarioCadenas commented Feb 18, 2026

Introduces a full suite of CLI commands under npx appkit plugin for managing plugin manifests — creating, validating, listing, syncing, and adding resources. Restructures the previous single plugins sync command into a modular command tree and strengthens the JSON schema with type-specific permission validation.

New CLI commands

  • plugin create — Interactive wizard (via @clack/prompts) to scaffold a new plugin with manifest, TypeScript class, and barrel exports. Supports in-repo or standalone placement, resource selection, and metadata fields.
  • plugin validate — Validates manifest.json or appkit.plugins.json against the JSON schema. Auto-detects schema type, reports humanized errors with actual values and expected enums.
  • plugin list — Lists plugins from appkit.plugins.json or scans a directory. Supports --json output for scripting.
  • plugin add-resource — Interactively adds a resource requirement to an existing plugin manifest.
  • plugin sync — Refactored from the previous plugins sync; discovers plugin manifests from packages and local imports, writes consolidated appkit.plugins.json.

Schema improvements

  • Type-specific permission validation: Each resource type (12 known types) now has its own permission enum enforced via allOf/if-then rules (e.g. sql_warehouse only allows CAN_MANAGE | CAN_USE).
  • No unknown resource types: The resourceType enum is the single source of truth — unknown types are rejected at the schema level.
  • Template schema deduplication: template-plugins.schema.json now $refs definitions from plugin-manifest.schema.json instead of duplicating them.

@MarioCadenas MarioCadenas changed the title feat: add plugin create command feat: add plugin commands Feb 19, 2026
@MarioCadenas MarioCadenas force-pushed the cli-plugin-commands branch 2 times, most recently from 767f200 to 34f8509 Compare February 19, 2026 17:22
@MarioCadenas MarioCadenas marked this pull request as ready for review February 20, 2026 10:27
@MarioCadenas MarioCadenas requested a review from pkosiec February 20, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments